function display(S)
% BVQXfile::display  - overloaded method
%
% for 1x1 objects, displays content struct (property list),
% otherwise MxN BVQXfile matrix

% Version:  v0.7b
% Build:    7090511
% Date:     Sep-05 2007, 11:57 AM CEST
% Author:   Jochen Weber, Brain Innovation, B.V., Maastricht, NL
% URL/Info: http://wiki.brainvoyager.com/BVQXtools

% global storage
global bvqxcont;

% check size
if numel(S) ~= 1
    osz = sprintf('%d-by-', size(S));
    disp([char(10) '    BVQXfile object: ' osz(1:end-4) char(10)]);
else
    try
        if isBVQXfile(S, true)
            display(bvqxfile_getcont(S.L));
            if S.L == 1 && ...
                numel(bvqxcont) > 1
                disp('  List of currently loaded objects:');
                disp('----------------------------------------------------');
                disp(' Type  | Filename');
                disp('----------------------------------------------------');
                for oc = 2:numel(bvqxcont)
                    disp(sprintf(' %4s  | %s', ...
                        bvqxcont(oc).S.Extensions{1}, bvqxcont(oc).F));
                end
                disp('----------------------------------------------------');
                tspc = whos('bvqxcont');
                disp(sprintf('  Total MB occupied: %.3f', tspc.bytes / 1048576));
            end
        else
            disp([char(10) '    BVQXfile object (cleared): 1-by-1' char(10)]);
        end
    catch
        % do nothing, probably cleared
    end
end
